mruby 4.0.0
mruby is the lightweight implementation of the Ruby language
Loading...
Searching...
No Matches
object.h File Reference

More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  RBasic
struct  RObject
struct  RFiber

Macros

#define MRB_OBJECT_HEADER
#define MRB_FLAG_TEST(obj, flag)
#define mrb_basic_ptr(v)
#define MRB_OBJ_IS_FROZEN   1
#define mrb_frozen_p(o)
#define MRB_FL_OBJ_SHAPED   (1 << 5)
#define MRB_OBJ_SHAPED_P(o)
#define mrb_obj_ptr(v)
#define mrb_special_const_p(x)
#define mrb_static_assert_object_size(st)

Detailed Description

  • mruby object definition

See Copyright Notice in mruby.h

Macro Definition Documentation

◆ mrb_basic_ptr

#define mrb_basic_ptr ( v)
Value:
((struct RBasic*)(mrb_ptr(v)))
Definition object.h:19

◆ MRB_FLAG_TEST

#define MRB_FLAG_TEST ( obj,
flag )
Value:
((obj)->flags & (flag))

◆ mrb_frozen_p

#define mrb_frozen_p ( o)
Value:
((o)->frozen)

◆ mrb_obj_ptr

#define mrb_obj_ptr ( v)
Value:
((struct RObject*)(mrb_ptr(v)))
Definition object.h:34

◆ MRB_OBJ_SHAPED_P

#define MRB_OBJ_SHAPED_P ( o)
Value:
((o)->tt == MRB_TT_OBJECT && ((o)->flags & MRB_FL_OBJ_SHAPED))

◆ MRB_OBJECT_HEADER

#define MRB_OBJECT_HEADER
Value:
struct RClass *c; \
enum mrb_vtype tt:8; \
unsigned int gc_color:3; \
unsigned int frozen:1; \
uint32_t flags:20
Class class.
Definition class.h:17

◆ mrb_special_const_p

#define mrb_special_const_p ( x)
Value:
mrb_immediate_p(x)

◆ mrb_static_assert_object_size

#define mrb_static_assert_object_size ( st)
Value:
mrb_static_assert(sizeof(st) <= sizeof(void*) * 5, \
#st " size must be within 5 words")
#define mrb_static_assert(...)
The mrb_static_assert() macro function takes one or two arguments.
Definition mruby.h:108